home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Extra 1996 #2
/
Amiga Plus CD - 1996 - No. 2 Extra.iso
/
clarissa1_1-demo
/
macros
/
fade.clssa
< prev
next >
Wrap
Text File
|
1995-01-26
|
3KB
|
113 lines
/***********************************************************************
GADGET: "Fade" "6" AUTO TYP: "?"
$DAT >>Fade.clssa<< 26.10.1992 - (C) ProDAD Holger Burkarth
20.01.1995 - (C) ProDAD Michael Christoph
Der Fade-Macro erzeugt einen Blendeffekt in eine definierbare Farbe.
Oft wird ein Fade nur in Verbindung mit der Farbe Schwarz benötigz.
Hierzu stellt der Macro eine Abkürzung zur Verfügung.
Möchte man aber eine Bezugsfarbe verwendet, so muß der User die Farbe
auswählen. Eine gezielte Auswahl der Farbnummer kann im Farbrequester
vorgenommen werden.
************************************************************************/
Options Results
Address clariSSA
FailAt 10
AltFail=RESULT
GetArea
PARSE VAR RESULT . "FROM" von "TO" bis .
von=Strip(von)
Anzahl=bis-von
IF Anzahl>1 THEN DO
DO FOREVER
GetAnimInfo
PARSE VAR RESULT . "FORMAT" x y t "VIEWMODE" ViewMode .
AnzFarben=2**t - 1
MSRequester "TITLE '*** Fade ***'",
"''",
"'Wählen Sie bitte die Faderichtung aus.'",
"'IN bedeutet, daß sich die Farben mit'",
"'laufender Animation normalisieren.'",
"PTEXT 'Fade IN'",
"'Fade OUT'"
IF RC~=0 THEN LEAVE
FadeIN=RESULT
MSRequester "TITLE '*** Fade ***'",
"''",
"'Bezugsfarbe zur Fadebearbeitung wählen?'",
"PTEXT 'Bezugsfarbe frei wählen'",
"'Bezugsfarbe schwarz'",
"'Bezugsfarbe weiß'"
IF RC~=0 THEN LEAVE
IF RESULT=1 THEN DO
COLRequest "Register 0 TITLE '*** Fade ***''''Bezugsfarbe für den Fadeeffekt''festlegen.'"
IF RC~=0 THEN LEAVE
BezFarbe=RESULT
GetColor BezFarbe
PARSE VAR RESULT x BezR BezG BezB
END
ELSE IF RESULT=2 THEN DO
BezR=0
BezG=0
BezB=0
END
ELSE IF RESULT=3 THEN DO
BezR=255
BezG=255
BezB=255
END
l=0
ListeG=""
DO UNTIL l>AnzFarben
ListeG=ListeG l
l=l+1
END
BOOLRequest "'Animationsfarben ändern?''Anim: Master''<< von "von" bis "bis" >>'"
IF RC~=0 | RESULT="NO" THEN LEAVE
RequestStatus OFF
DO UNTIL von>bis
IF FadeIN=2 THEN fa=(1-(bis-von)/Anzahl)
ELSE fa=(bis-von)/Anzahl
ViewFrame COPS von
IF RC~=0 THEN LEAVE
l=0
Liste=""
GetColor ListeG
ListeR=RESULT
DO UNTIL ListeR=""
PARSE VAR ListeR x r g b ListeR
r=r+(BezR-r)*fa
g=g+(BezG-g)*fa
b=b+(BezB-b)*fa
Liste=Liste x TRUNC(r) TRUNC(g) TRUNC(b)
l=l+1
END
SetColor Liste
Record COPS
IF RC~=0 THEN LEAVE
von=von+1
END
RequestStatus ON
LEAVE
END
END
ELSE Message "'Für einen Fade-Effekt müssen''min. 2 Frames ausgewählt werden.'"
FailAt AltFail
exit